<?php

require("Base.php");

class class_Clientes extends class_Base
{
  function __construct() {
    parent::__construct();
  }
  
  
  public function method_leer_clientes($params, $error) {
  	$p = $params[0];
  	
  	$resultado = array();
  	
	if (is_null($p->id_cliente)) {
	  	if (is_null($p->texto)) {
	  		$sql = "SELECT * FROM clientes ORDER BY razon_social";
	  	} else if (is_numeric($p->texto)) {
	  		$sql = "SELECT * FROM clientes WHERE dni_cuit LIKE '%" . $p->texto . "%' ORDER BY dni_cuit";
	  	} else {
	  		$sql = "SELECT * FROM clientes WHERE razon_social LIKE '%" . $p->texto . "%' ORDER BY razon_social";
	  	}
	} else {
		$sql = "SELECT * FROM clientes WHERE id_cliente=" . $p->id_cliente;
	}
	
	$rs = mysql_query($sql);
	while ($row = mysql_fetch_object($rs)) {
		if (is_null($p->id_cliente)) {
			$opciones = array("interes"=>"float", "limite_mensual"=>"float", "plazo_dias"=>"int");
			$sql = "SELECT * FROM ctas_ctes WHERE id_cliente=" . $row->id_cliente;
			$cta_cte = $this->toJson($sql, $opciones);
			if (count($cta_cte) > 0) $row->cta_cte = $cta_cte[0];
		}	
		
		$resultado[] = $row;
	}
	
	return $resultado;
  }
  
  
  public function method_alta_modifica_cliente($params, $error) {
    $p = $params[0];
   
    $resultado = new stdClass;
    $resultado->id_cliente = $p->id_cliente;
    $resultado->error = array();
   
    $sql = "SELECT id_cliente FROM clientes WHERE id_cliente <>" . $p->id_cliente . " AND tipodoc_dnicuit='" . $p->tipo_doc . "-" . $p->dni_cuit . "'";
    $rs = mysql_query($sql);
    if (mysql_num_rows($rs) > 0) {
	    $item = new stdClass();
	    $item->descrip = "cliente";
	    $item->message = " Ya existe otro cliente con el mismo tipo y nro. de documento. ";
	    $resultado->error[] = $item;
    } else {
	    mysql_query("START TRANSACTION");
	   
	    if ($p->id_cliente=="0") {
	        $p->tipodoc_dnicuit = $p->tipo_doc . "-" . $p->dni_cuit;
	        unset($p->id_cliente);
	        $set = $this->prepararCampos($p, "clientes");
	       
	        $sql = "INSERT clientes SET " . $set;
	        $this->sql_query($sql);
	       
	        $resultado->id_cliente = mysql_insert_id();
	       
	        $this->transmitir($sql);
	    } else {
	        $tipodoc_dnicuit = $p->tipodoc_dnicuit;
	       
	        $p->tipodoc_dnicuit = $p->tipo_doc . "-" . $p->dni_cuit;
	        unset($p->id_cliente);
	        $set = $this->prepararCampos($p, "clientes");
	       
	        $sql = "UPDATE clientes SET " . $set . " WHERE tipodoc_dnicuit='" . $tipodoc_dnicuit . "'";
	        $this->sql_query($sql);
	       
	        $this->transmitir($sql);
	    }
	   
	    mysql_query("COMMIT");
    }
   
    return $resultado;
  }

  
  
  public function method_alta_modifica_cta_cte($params, $error) {
  	$p = $params[0];
  	
  	$resultado = $p->id_cliente;
  	
  	$set = $this->prepararCampos($p, "ctas_ctes");
 	
  	if ($p->id_cta_cte=="0") {
  		$sql = "INSERT ctas_ctes SET " . $set . "";
  		$this->sql_query($sql);
  	} else {
  		$sql = "UPDATE ctas_ctes SET " . $set . " WHERE id_cta_cte='" . $p->id_cta_cte . "'";
  		$this->sql_query($sql);
  	}
  	
	return $resultado;
  }
}

?>